package com.woniuxy.carlife.carlifeuserweb.controller;


import cn.hutool.core.util.ObjectUtil;
import com.woniuxy.carlife.carlifecommonsweb.exception.CarlifeGlobalException;
import com.woniuxy.carlife.carlifecommonsweb.responsetemplate.Result;
import com.woniuxy.carlife.carlifecommonsweb.responsetemplate.StatusCode;
import com.woniuxy.carlife.carlifecommonsweb.util.CopyUtil;
import com.woniuxy.carlife.carlifecommonsweb.util.JwtUtil;
import com.woniuxy.carlife.carlifeusermodel.dto.ServiceInfofavoritesDto;
import com.woniuxy.carlife.carlifeusermodel.dto.ShoppingcartDto;
import com.woniuxy.carlife.carlifeusermodel.param.ServiceInfofavoritesParam;
import com.woniuxy.carlife.carlifeuserweb.entity.ServiceInfofavorites;
import com.woniuxy.carlife.carlifeuserweb.entity.Shoppingcart;
import com.woniuxy.carlife.carlifeuserweb.service.ServiceInfofavoritesService;
import com.woniuxy.carlife.carlifeuserweb.util.StatusMessageEnum;
import io.jsonwebtoken.Claims;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;

import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.context.request.RequestContextHolder;
import org.springframework.web.context.request.ServletRequestAttributes;

import javax.annotation.Resource;
import java.util.List;

/**
 * @author zjq
 * @ClassName:ServiceInfofavoritesController
 * @Description:门店项目服务收藏
 * @date 2021/4/6 20:02
 **/

//@RestController
//@RequestMapping("/service-infofavorites")
//@Api(tags = "查询门店项目服务收藏")//用于描述接口类的相关信息，作用于类上
//public class ServiceInfofavoritesController {
//
//    @Resource
//    ServiceInfofavoritesService serviceInfofavoritesService;
//
//    /*
//     * 功能描述〈查询门店项目服务收藏根据用户id〉
//     * @author:zjq
//     * @param:
//     * @return:
//     * @Date 2021/4/12 14:24
//     * @throws
//     */
//    @ApiOperation(value = "查询门店收藏")
//    @GetMapping("/ordinary/findServiceInfofavoritesByUserId")
//    public Result findServiceInfofavoritesByUserId() {
//        ServletRequestAttributes sra =
//                (ServletRequestAttributes) RequestContextHolder.getRequestAttributes();
//        String token = sra.getRequest().getHeader("token");
//        JwtUtil jwtUtil = new JwtUtil();
//        Claims claims = jwtUtil.parseTokenOrdinary(token);
//        if (claims == null) {
//
//            return new Result(false, StatusCode.ERROR, StatusMessageEnum.NOT_LOGGED_IN.toString());
//        }
//        Object o = claims.get("token");
//        Integer tokenUserId = Integer.valueOf(String.valueOf(o));
//        List<ServiceInfofavorites> serviceInfofavoritesByUserId = serviceInfofavoritesService.findServiceInfofavoritesByUserId(tokenUserId);
//
//
//        if (ObjectUtil.isNull(serviceInfofavoritesByUserId)) {
//            return new Result(false, StatusCode.ERROR, StatusMessageEnum.QUERY_IS_EMPTY.toString());
//        }
//
//        List<ServiceInfofavoritesDto> serviceInfofavoritesList = CopyUtil.getList(serviceInfofavoritesByUserId, ServiceInfofavoritesDto.class);
//
//        return new Result(true, StatusCode.OK, StatusMessageEnum.SEARCH_SUCCESSFUL.toString(), serviceInfofavoritesList);
//    }
//
//    /*
//     * 功能描述〈门店服务收藏新增〉
//     * @author:zjq
//     * @param:
//     * @return:
//     * @Date 2021/4/14 19:18
//     * @throws
//     */
//    @ApiOperation(value = "门店服务收藏新增")
//    @GetMapping("/ordinary/addServiceInfofavoritesByUserId")
//    public Result addServiceInfofavoritesByUserId(@ApiParam ServiceInfofavoritesParam serviceInfofavoritesParam) {
//
//        ServletRequestAttributes sra =
//                (ServletRequestAttributes) RequestContextHolder.getRequestAttributes();
//        String token = sra.getRequest().getHeader("token");
//        JwtUtil jwtUtil = new JwtUtil();
//        Claims claims = jwtUtil.parseTokenOrdinary(token);
//        if (claims == null) {
//
//            return new Result(false, StatusCode.ERROR, StatusMessageEnum.NOT_LOGGED_IN.toString());
//        }
//        if(ObjectUtil.isNull(serviceInfofavoritesParam)){
//            return new Result(false, StatusCode.CAN_NOT_BE_EMPTY, StatusMessageEnum.CAN_NOT_BE_EMPTY.toString());
//
//        }
//        Object o = claims.get("token");
//        Integer tokenUserId = Integer.valueOf(String.valueOf(o));
//        ServiceInfofavorites one = CopyUtil.getOne(serviceInfofavoritesParam, ServiceInfofavorites.class);
//        one.setUserId(tokenUserId);
//        Boolean aBoolean = serviceInfofavoritesService.addServiceInfofavoritesByUserId(one);
//
//        return aBoolean ?
//                new Result(false, StatusCode.ADDED_SUCCESSFULLY, StatusMessageEnum.ADDED_SUCCESSFULLY.toString())
//                : new Result(false, StatusCode.ADD_FAILED, StatusMessageEnum.ADD_FAILED.toString());
//
//
//    }
//
//}
//
